package cn.diancan.service;

import java.util.List;

import cn.diancan.exception.OutMsgException;
import cn.diancan.model.ShopCustomer;
import cn.diancan.vo.ShopCustomerVo;
import cn.diancan.vo.other.Pager;

public interface ShopCustomerService {
    
    	/**
        	添加  vip 信息
            private String customerName;//姓名
            private String customerPhoneNum;//手机号码
            private Integer customerSex;//性别
            private String customerBrithDay;//生日 
            private Integer memberType;//1.普通    2.vip  
            private String customerReMarks;  //备注
    	 * @return
    	 */
    	public ShopCustomerVo saveVipShopCustomer(String customerName,String customerPhoneNum,Integer customerSex,String customerBrithDay,String customerReMarks)throws OutMsgException,Exception; 
	
    	
    	public ShopCustomerVo updateVipShopCustomer(Long shopCustomerId,String customerName,String customerPhoneNum,Integer customerSex,String customerBrithDay,String customerReMarks)throws OutMsgException,Exception; 
    	
    	
    	public ShopCustomerVo updateVipShopCustomer(Long shopCustomerId,String customerName, Integer customerSex,String customerBrithDay,String customerReMarks)throws OutMsgException,Exception; 
    	
    	
    	/**
    	 * 根据电话查找
    	 * @param customerPhoneNum
    	 * @return
    	 * @throws OutMsgException
    	 * @throws Exception
    	 */
    	public ShopCustomerVo findByPhoneNum(String customerPhoneNum)throws OutMsgException, Exception;
    	
	/**
	 * 保存
	 * @param user
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public boolean saveShopCustomer(ShopCustomer shopCustomer)throws OutMsgException,Exception; 
	
	/**
	 * 删除
	 * @param shopCustomerId
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public boolean deleteShopCustomerById(Long shopCustomerId)throws OutMsgException,Exception; 
	
	/**
	 * 更新
	 * @param shopCustomer
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public boolean updateShopCustomer(ShopCustomer shopCustomer)throws OutMsgException,Exception; 
	
	
	/**
	 * id查询
	 * @param shopCustomerId
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public ShopCustomer findbyShopCustomerId(Long shopCustomerId)throws OutMsgException,Exception; 
	
	/**
	 * 列表
	 * @param pager
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public Pager findShopCustomerPager(Pager pager,String customerName,String customerPhoneNum )throws OutMsgException,Exception;  
	 
	
	/**
	 * list查询
	 * @param pageNo
	 * @param row
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public List<ShopCustomer> findShopCustomerList(Integer pageNo,Integer row)throws OutMsgException,Exception; 
	
	
	public ShopCustomerVo findByOutOrderNumber(String purchaseSaleOutOrderNumber)throws OutMsgException,Exception; 

}
